package com.jz.legalplantclass.service.impl;

//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

import com.jz.legalplantclass.entity.LegalPlantClassUpdateStatusVo;
import com.jz.legalplantclass.entity.LegalPlantClassUpdateVo;
import com.jz.legalplantclass.entity.LegalVO;
import com.jz.legalplantclass.entity.Legalplantclass;
import com.jz.legalplantclass.mapper.LegalplantclassMapper;
import com.jz.legalplantclass.service.ILegalplantclassService;
import com.jz.planclass.model.PlanClassVo;
import com.jz.util.ResultBuildVo;
import com.jz.util.ResultVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.validation.Valid;
import java.util.Date;

/**
 * <p>
 * 服务实现类
 * </p>
 *
 * @author jobob
 * @since 2021-12-30
 */
@Service
public class LegalplantclassServiceImpl implements ILegalplantclassService {

    @Autowired
    private LegalplantclassMapper legalplantclassMapper;

    @Override
    public ResultVo updateLegalPlantStatus(@Valid LegalPlantClassUpdateStatusVo legalPlantClassUpdateStatusVo) {

        Legalplantclass legalplantclass = legalplantclassMapper.queryById(legalPlantClassUpdateStatusVo.getId());
        if (legalplantclass == null) {

            return ResultBuildVo.error("修改的对象不存在");
        }

        Date nowDate = new Date();

        LegalVO legalVO = new LegalVO();
        BeanUtils.copyProperties(legalPlantClassUpdateStatusVo, legalVO);
        legalVO.setUpdateTime(nowDate);
        legalVO.setUpdateName("通过session获得的名称");
        legalplantclassMapper.updateEnabled(legalVO);

        return ResultBuildVo.success();
    }

    @Override
    public ResultVo updateLegalPlantClass(@Valid LegalPlantClassUpdateVo legalPlantClassUpdateVo) {

        Legalplantclass legalplantclass = legalplantclassMapper.queryById(legalPlantClassUpdateVo.getId());
        if (legalplantclass == null) {

            return ResultBuildVo.error("修改的对象不存在");
        }

        if (legalPlantClassUpdateVo.getEnabled()){

            return ResultBuildVo.error("只有禁用状态才能修改工厂描述");
        }
        Date nowDate = new Date();

        LegalVO legalVO = new LegalVO();
        BeanUtils.copyProperties(legalPlantClassUpdateVo, legalVO);
        legalVO.setUpdateTime(nowDate);
        legalVO.setUpdateName("通过session获得的名称");
        int version = legalplantclassMapper.updateLegalPlantClass(legalVO);
if (version==0){

    return ResultBuildVo.error("已被其他用户修改，刷新后重试");
}
        return ResultBuildVo.success();

    }
}
